global hatchBlock
s3board = Struct('s3board')
s3board.parent = None
s3board.properties['address_range'] = 5
s3board.properties['address_width'] = 5
s3board.properties['base_address'] = 0
s3board.properties['global_name'] = 's3board'
s3board.properties['hatchFileName'] = 's3board_hatch.py'
s3board.properties['hatch_leaf'] = False
s3board.properties['local_address'] = 0
s3board.properties['local_address_range'] = 5
s3board.properties['packed'] = False
s3board.properties['target'] = 'small apb slave'
button = Register('button')
button.parent = s3board
button.properties['address_range'] = 1
button.properties['address_width'] = 1
button.properties['base_address'] = 0
button.properties['base_bit'] = 0
button.properties['bit_width'] = 4
button.properties['comment'] = 'This is the bank of 4 buttons on the bottom left edge of the board.'
button.properties['default'] = 0
button.properties['external'] = True
button.properties['global_name'] = 'button'
button.properties['hatch_leaf'] = True
button.properties['local_address'] = 0
button.properties['local_address_range'] = 1
button.properties['packed'] = False
button.properties['sw'] = 'r'
switch = Register('switch')
switch.parent = s3board
switch.properties['address_range'] = 1
switch.properties['address_width'] = 1
switch.properties['base_address'] = 1
switch.properties['base_bit'] = 0
switch.properties['bit_width'] = 8
switch.properties['comment'] = 'This is the bank of 8 switches on the bottom right edge of the board.'
switch.properties['default'] = 0
switch.properties['external'] = True
switch.properties['global_name'] = 'switch'
switch.properties['hatch_leaf'] = True
switch.properties['local_address'] = 1
switch.properties['local_address_range'] = 1
switch.properties['packed'] = False
switch.properties['sw'] = 'r'
led = Register('led')
led.parent = s3board
led.properties['address_range'] = 1
led.properties['address_width'] = 1
led.properties['base_address'] = 2
led.properties['base_bit'] = 0
led.properties['bit_width'] = 8
led.properties['comment'] = 'This is the bank of 8 LEDs on the bottom left corner of the board.'
led.properties['default'] = 0
led.properties['global_name'] = 'led'
led.properties['hatch_leaf'] = True
led.properties['hw'] = 'r'
led.properties['local_address'] = 2
led.properties['local_address_range'] = 1
led.properties['packed'] = False
led.properties['sw'] = 'rw'
cPack = Pack('cPack')
cPack.parent = s3board
cPack.properties['address_range'] = 1
cPack.properties['address_width'] = 1
cPack.properties['base_address'] = 3
cPack.properties['base_bit'] = 0
cPack.properties['bit_width'] = 16
cPack.properties['comment'] = 'This is the 4x7 segment display on the bottom right corner of the board.  Values are displayed in hex.'
cPack.properties['global_name'] = 'cPack'
cPack.properties['hatch_leaf'] = False
cPack.properties['local_address'] = 3
cPack.properties['local_address_range'] = 1
cPack.properties['packed'] = True
c3 = Register('c3')
c3.parent = cPack
c3.properties['address_range'] = 1
c3.properties['address_width'] = 1
c3.properties['base_address'] = 3
c3.properties['base_bit'] = 12
c3.properties['bit_width'] = 4
c3.properties['default'] = 0
c3.properties['global_name'] = 'c3'
c3.properties['hatch_leaf'] = True
c3.properties['hw'] = 'ir'
c3.properties['local_address'] = 0
c3.properties['local_address_range'] = 1
c3.properties['packed'] = True
c3.properties['sw'] = 'rw'
c2 = Register('c2')
c2.parent = cPack
c2.properties['address_range'] = 1
c2.properties['address_width'] = 1
c2.properties['base_address'] = 3
c2.properties['base_bit'] = 8
c2.properties['bit_width'] = 4
c2.properties['default'] = 0
c2.properties['global_name'] = 'c2'
c2.properties['hatch_leaf'] = True
c2.properties['hw'] = 'ir'
c2.properties['local_address'] = 0
c2.properties['local_address_range'] = 1
c2.properties['packed'] = True
c2.properties['sw'] = 'rw'
c1 = Register('c1')
c1.parent = cPack
c1.properties['address_range'] = 1
c1.properties['address_width'] = 1
c1.properties['base_address'] = 3
c1.properties['base_bit'] = 4
c1.properties['bit_width'] = 4
c1.properties['default'] = 0
c1.properties['global_name'] = 'c1'
c1.properties['hatch_leaf'] = True
c1.properties['hw'] = 'ir'
c1.properties['local_address'] = 0
c1.properties['local_address_range'] = 1
c1.properties['packed'] = True
c1.properties['sw'] = 'rw'
c0 = Register('c0')
c0.parent = cPack
c0.properties['address_range'] = 1
c0.properties['address_width'] = 1
c0.properties['base_address'] = 3
c0.properties['base_bit'] = 0
c0.properties['bit_width'] = 4
c0.properties['default'] = 0
c0.properties['global_name'] = 'c0'
c0.properties['hatch_leaf'] = True
c0.properties['hw'] = 'ir'
c0.properties['local_address'] = 0
c0.properties['local_address_range'] = 1
c0.properties['packed'] = True
c0.properties['sw'] = 'rw'
soft_reset = Register('soft_reset')
soft_reset.parent = s3board
soft_reset.properties['address_range'] = 1
soft_reset.properties['address_width'] = 1
soft_reset.properties['base_address'] = 4
soft_reset.properties['base_bit'] = 0
soft_reset.properties['bit_width'] = 1
soft_reset.properties['comment'] = 'Soft reset.'
soft_reset.properties['default'] = 0
soft_reset.properties['global_name'] = 'soft_reset'
soft_reset.properties['hatch_leaf'] = True
soft_reset.properties['hw'] = 'r'
soft_reset.properties['local_address'] = 4
soft_reset.properties['local_address_range'] = 1
soft_reset.properties['packed'] = False
soft_reset.properties['sw'] = 'rw'
hatchBlock = s3board